
//844.比较含退格的字符串
class Solution {
public:
    bool backspaceCompare(string s, string t) {
        stack<char> st1;
        stack<char> st2;

        for(auto e:s)  //模拟文本编辑器
        {
            if(e=='#'&&!st1.empty()) st1.pop();  //是#进行删除
            else if(e!='#') st1.push(e);        //不是#将字符放入到栈中
        }
        for(auto e:t)
        {
            if(e=='#'&&!st2.empty()) st2.pop();
            else if(e!='#') st2.push(e);
        }
        if(st1.size()!=st2.size()) return false;  //如果栈中的元素个数不相等不可能满足条件

        while(!st1.empty())
        {
            if(st1.top()!=st2.top()) return false;  //检查每一次栈顶元素是否相等
            st1.pop(),st2.pop();
        }            
        return true;
    }
};